package routers

import (
	"sale-admin/internal/app/web/controller"

	"github.com/gin-gonic/gin"
)

func AdminRouter(router *gin.RouterGroup) {
	router.POST("/report/robot_report_log", controller.Report{}.RobotReportLog)       //获取运营报告记录
	router.POST("/report/detail", controller.Report{}.LogDetail)                      //获取报告详情
	router.POST("/report/add_config", controller.Report{}.SaveConfig)                 //添加报告配置
	router.POST("/report/edit_config", controller.Report{}.SaveConfig)                //编辑报告配置
	router.GET("/report/get_report_config", controller.Report{}.GetReportConfig)      //编辑报告配置
	router.POST("/report/del_config", controller.Report{}.DelConfig)                  //删除报告配置
	router.POST("/report/config_list", controller.Report{}.ConfigList)                //获取报告配置列表
	router.POST("/report/event_desc", controller.Report{}.EventDesc)                  //运营事件详情
	router.POST("/report/add_event", controller.Report{}.AddEvent)                    //添加运营事件
	router.POST("/report/edit_event", controller.Report{}.EditEvent)                  //编辑运营事件
	router.POST("/report/del_event", controller.Report{}.DelEvent)                    //删除运营事件
	router.POST("/report/event_list", controller.Report{}.EventList)                  //获取运营事件列表
	router.POST("/report/add_event_type", controller.Report{}.AddEventType)           //添加事件类型
	router.POST("/report/del_event_type", controller.Report{}.DelEventType)           //删除事件类型
	router.POST("/report/event_type_list", controller.Report{}.EventTypeList)         //运营事件类型列表
	router.POST("/report/add_event_question", controller.Report{}.AddEventQuestion)   //添加运营事件问题
	router.POST("/report/edit_event_question", controller.Report{}.EditEventQuestion) //编辑运营事件问题
	router.POST("/report/del_event_question", controller.Report{}.DelEventQuestion)   //删除运营事件问题
	router.POST("/report/event_question_list", controller.Report{}.EventQuestionList) //获取运营事件问题列表

	//商户
	//router.POST("/shop/save_image")                                             //图片和广告上传通用接口
	router.POST("/shop/payment_remove", controller.Payments{}.PaymentRemove)    //删除支付方式 --- 针对于支付具体的配置
	router.POST("/shop/set_payments", controller.Payments{}.SetMerchantPayment) //分配支付方式
	router.POST("/shop/set_third_pay", controller.Payments{}.SetThirdPay)       //配置第三方支付
	router.POST("/shop/payment_detail", controller.Payments{}.PaymentDetail)    //查询支付方式的具体配置参数
	router.POST("/shop/payments", controller.Payments{}.AllPayments)            //查询支付方式
	router.POST("/shop/shop_info_detail", controller.Shop{}.ShopInfoDetail)     //查看商户或者子商户信息

	//机器人
	router.POST("/robot/get_robot")                                                                         // 获取机器人信息,改走GRPC
	router.POST("/robot/set_robot_sort", controller.RobotInfo{}.SetRobotSort)                               // 设置机器排序
	router.POST("/robot/robot_sale_info_log", controller.RobotInfo{}.RobotSaleInfoLog)                      // 补货日志列表
	router.POST("/robot/robot_sale_info_log_detail", controller.RobotInfo{}.RobotSaleInfoLogDetail)         // 补货商品变动详情
	router.POST("/robot/get_robot_shop_info", controller.RobotInfo{}.GetRobotShopInfo)                      // 查询机器已售出和库存信息 --- 按照库存大小排序
	router.POST("/robot/get_history_robot_shop_info", controller.RobotInfo{}.GetHistoryRobotShopInfo)       // 历史库存
	router.POST("/robot/get_history_inventory_of_goods", controller.RobotInfo{}.GetHistoryInventoryOfGoods) // 历史库存之商品信息
	router.POST("/robot/get_zero_stock_data", controller.RobotInfo{}.GetZeroStockData)                      // 空货数据
	router.POST("/robot/get_zero_stock_data_detail", controller.RobotInfo{}.GetZeroStockDataDetail)         // 空货数据机器详情 - 和推送的一致
	router.POST("/robot/get_error_pallets", controller.Robot{}.GetErrorPallets)                             // 获取错误检测列表
	router.POST("/robot/goods_info", controller.Robot{}.GoodsInfo)                                          // 商品补货
	router.POST("/robot/set_goods", controller.Robot{}.SetGoods)                                            // [后台]商品补货
	router.POST("/robot/set_payments", controller.Robot{}.SetPayment)                                       // 机器设置支付方式
	router.POST("/robot/set_opening", controller.Robot{}.SetOpening)                                        // 设置机器新城新店标识
	router.GET("/robot/get-opening", controller.Robot{}.GetOpening)                                         // 获取机器新城新店设置
	router.POST("/robot/get_detail_of_robot", controller.Robot{}.GetDetailOfRobot)                          // 获取机器详情

	//活动
	router.POST("/activity/list", controller.Activity{}.List) //获取活动模板列表

	router.POST("/activity/add", controller.Activity{}.Add)            //新建活动模板
	router.POST("/activity/edit", controller.Activity{}.Edit)          //编辑活动模板
	router.POST("/activity/del", controller.Activity{}.Del)            //删除活动模板
	router.POST("/activity/status", controller.Activity{}.Status)      //修改活动状态
	router.POST("/activity/detail", controller.Activity{}.AdminDetail) //活动详情
	router.POST("/activity/list_data", controller.Activity{}.ListData) //获取客户资料模板

	//订单
	router.POST("/order/order_count", controller.Statistics{}.OrderCount)                 //订单统计
	router.POST("/order/get_goods_sold_count", controller.Statistics{}.GetGoodsSoldCount) //商品出货件数 【销售额类别占比】
	router.POST("/order/get_create_and_pay", controller.Statistics{}.GetCreateAndPay)     //创单与支付 【曝光与点击】 --默认24小时
	router.POST("/order/list", controller.Order{}.List)                                   //获取订单列表
	router.POST("/order/refund", controller.Order{}.Refund)                               //订单手动退款
	router.POST("/order/refund_list", controller.Order{}.RefundList)                      //退款|收入流水
	router.POST("/order/refund_analyze", controller.Order{}.RefundAnalyze)                // 新增 退款分析

	//实时统计
	router.POST("/statistics/get_repeat_user", controller.Statistics{}.GetRepeatUser)              //获取复购用户列表
	router.POST("/statistics/get_repeat_user_detail", controller.Statistics{}.GetRepeatUserDetail) //获取复购用户详情列表
	router.POST("/statistics/order_desc", controller.Statistics{}.OrderDesc)                       //订单概览
	router.POST("/statistics/hour_order_desc", controller.Statistics{}.HourOrderDesc)              //时段销售统计
	router.POST("/statistics/goods_desc", controller.Statistics{}.GoodsDesc)                       //商品概览
	router.POST("/statistics/draw", controller.Statistics{}.Draw)                                  //画像分析
	router.POST("/statistics/data_compare", controller.Statistics{}.DataCompare)                   //数据对比
	router.POST("/statistics/date_person", controller.Statistics{}.DatePerson)                     //天数人流【曝光统计】
	router.POST("/statistics/hour_person", controller.Statistics{}.HourPerson)                     //时段人流统计
	router.POST("/statistics/get_center_person", controller.Statistics{}.GetCenterPerson)          //曝光流速 -- 核心看板
	router.POST("/statistics/get_center_order", controller.Statistics{}.GetCenterOrder)            //订单流速
	router.POST("/statistics/abnormal_device", controller.Statistics{}.AbnormalDevice)             //异常设备

	//兑换码
	router.POST("/redemption/add", controller.Redemption{}.Add)       //新增兑换码
	router.POST("/redemption/remove", controller.Redemption{}.Remove) //删除兑换码
	router.POST("/redemption/GetLog", controller.Redemption{}.GetLog) //查询新增日志
	router.POST("/redemption/GetRC", controller.Redemption{}.GetRC)   //查询兑换码

	//聚合支付
	router.POST("/juhepay/query")  //聚合支付查询
	router.POST("/juhepay/refund") //聚合支付退款
	router.POST("/juhepay/getQR")  //聚合支付获取二维码
	router.POST("/juhepay/test")   //聚合支付测试

	//上传
	router.POST("/update/save_APK")          //上传apk
	router.POST("/update/get_back_APK")      //查询版本号，获取apk
	router.POST("/update/save_back_APK")     //上传apk 安卓版 背景板
	router.POST("/update/save_screen_image") //上传机器截屏图片

	// 售卖页面提示
	{
		router.POST("/sales_statement/add", controller.SalesStatement{}.Add)       // 添加提示
		router.POST("/sales_statement/edit", controller.SalesStatement{}.Edit)     // 编辑提示
		router.POST("/sales_statement/del", controller.SalesStatement{}.Del)       // 删除提示
		router.POST("/sales_statement/list", controller.SalesStatement{}.List)     // 页面提示列表
		router.POST("/sales_statement/detail", controller.SalesStatement{}.Detail) // 页面提示列表
		router.POST("/sales_statement/sort", controller.SalesStatement{}.Sort)     // 页面提示列表
	}
	// 锦鲤活动、会员列表、日志
	{
		// 锦鲤活动 11111
		router.POST("/lottery/activity/add", controller.LotteryActivity{}.Add)              // 添加、编辑活动
		router.POST("/lottery/activity/del", controller.LotteryActivity{}.Del)              // 删除活动
		router.POST("/lottery/activity/list", controller.LotteryActivity{}.List)            // 活动列表
		router.POST("/lottery/activity/order_list", controller.LotteryActivity{}.OrderList) // 抽奖活动明细列表
		router.POST("/lottery/activity/detail", controller.LotteryActivity{}.Detail)        // 详情
		router.POST("/lottery/activity/all", controller.LotteryActivity{}.All)              // 用于前端获取所有的活动ID，不分页
		router.POST("/lottery/activity/set_status", controller.LotteryActivity{}.SetStatus) // 用于前端获取所有的活动ID，不分页

		// 会员列表
		router.POST("/lottery/member/list", controller.LotteryMember{}.List)     // 会员列表,需要显示抽奖次数和中奖次数
		router.POST("/lottery/member/del", controller.LotteryMember{}.Del)       // 删除会员
		router.POST("/lottery/member/detail", controller.LotteryMember{}.Detail) // 会员详情

		// 日志
		router.POST("/lottery/member-activity-log/add", controller.LotteryMemberActivityLog{}.Add)       // 添加测试（注册、抽奖）
		router.POST("/lottery/member-activity-log/detail", controller.LotteryMemberActivityLog{}.Detail) // 日志详情（注册、抽奖）
		router.POST("/lottery/member-activity-log/list", controller.LotteryMemberActivityLog{}.List)     // 日志列表（注册、抽奖）

		// 活动数据
		router.POST("/lottery/activity-data/count_data", controller.LotteryActivityData{}.CountData)                   // 锦鲤活动数据
		router.POST("/lottery/activity-data/get_trend_of_lottery", controller.LotteryActivityData{}.GetTrendOfLottery) // 锦鲤活动数据

	}

	// 优惠码批次管理，包含通用码，一人一码，兑换码
	{
		// 优惠码批次
		router.POST("/coupon/batch/add", controller.CouponBatch{}.Add)                    // 新增批次
		router.POST("/coupon/batch/update", controller.CouponBatch{}.Update)              // 更新批次
		router.POST("/coupon/batch/invalid", controller.CouponBatch{}.Invalid)            // 使批次失效
		router.POST("/coupon/batch/add-inventory", controller.CouponBatch{}.AddInventory) // 添加码库存
		router.GET("/coupon/batch/list", controller.CouponBatch{}.List)                   // 批次列表
		router.GET("/coupon/batch/options", controller.CouponBatch{}.Options)             // 批次选项
		router.GET("/coupon/batch/detail", controller.CouponBatch{}.Detail)               // 详情，包含批次数据统计
		router.GET("/coupon/batch/goods", controller.CouponBatch{}.GoodsList)             // 用码商品统计
		router.GET("/coupon/code/list", controller.CouponCode{}.List)                     // 批次的码库
		router.GET("/coupon/code/consume-log", controller.CouponCode{}.ConsumeLog)        // 优惠码使用记录
	}
	// express-fee-setting
	{
		router.POST("/express-fee-setting/create", controller.ExpressFeeSetting{}.Create)
		router.POST("/express-fee-setting/update", controller.ExpressFeeSetting{}.Update)
		router.POST("/express-fee-setting/delete", controller.ExpressFeeSetting{}.Delete)
		router.GET("/express-fee-setting/list", controller.ExpressFeeSetting{}.List)
		router.GET("/express-fee-setting/detail", controller.ExpressFeeSetting{}.Detail)
	}
	// 快递
	{
		router.GET("/express/company-list", controller.Express{}.CompanyList)          // 快递公司列表
		router.POST("/express/set-shipmentinfo", controller.Express{}.SetShippingInfo) // 设置物流信息
	}
}
